package conson.tech.manage.scene.feign;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import conson.tech.core.response.Response;
import conson.tech.manage.scene.vo.TrainingAuditCourseVO;
import conson.tech.manage.scene.vo.TrainingAuditEvaluateVO;
import conson.tech.manage.scene.vo.request.TrainingCourseAuditRequest;
import conson.tech.manage.scene.vo.request.TrainingEvaluateAuditRequest;
import conson.tech.manage.scene.vo.request.TrainingOrderRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


@FeignClient(name = "edu-training")
public interface TrainingService {

    /**
     * 查询课程审核列表
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/course/audit/list")
    Response<Page<TrainingAuditCourseVO>> queryAuditCourseList(@RequestBody TrainingCourseAuditRequest request);


    /**
     * 单个审核
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/course/audit/single")
    Response courseSingleAudit(@RequestBody TrainingCourseAuditRequest request);


    /**
     * 批量审核
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/course/audit/batch")
    Response courseBatchAudit(@RequestBody TrainingCourseAuditRequest request);

    /**
     * 课程列表审核记录
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/course/audit/log")
    Response queryCourseAuditLog(@RequestBody TrainingCourseAuditRequest request);


    /**
     * 查询课程评价列表
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/evaluate/list")
    Response<Page<TrainingAuditEvaluateVO>> queryAuditEvaluateList(@RequestBody TrainingEvaluateAuditRequest request);


    /**
     * 单个审核
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/evaluate/audit/single")
    Response evaluateSingleAudit(@RequestBody TrainingEvaluateAuditRequest request);


    /**
     * 批量审核
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/evaluate/audit/batch")
    Response evaluateBatchAudit(@RequestBody TrainingEvaluateAuditRequest request);


    /**
     * 查询课程订单列表
     * @param request
     * @return
     */
    @PostMapping(value = "/innerAPI/order/list")
    Response queryOrderList(@RequestBody TrainingOrderRequest request);



}
